package cn.yzgy.yzgyoa.finance.service;

import cn.yzgy.yzgyoa.finance.dto.CapitalFinanceRecordDto;
import cn.yzgy.yzgyoa.finance.entity.CapitalFinanceRecord;
import cn.yzgy.yzgyoa.ucenter.entity.UserInfoDetail;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Yqsen
 * @since 2021-07-14
 */
public interface ICapitalFinanceRecordService extends IService<CapitalFinanceRecord> {

    /**
     * 获取资金明细
     * @param capitalFinanceRecordDtoPage 资金明细页面对象
     * @param queryDto 查询对象
     * @return 资金明细
     */
    IPage<CapitalFinanceRecordDto> getAllCapitalDetail(Page<CapitalFinanceRecordDto> capitalFinanceRecordDtoPage, CapitalFinanceRecordDto queryDto);
    /**
     * 新增入出账记录
     * @param currentUser 操作人
     * @param queryDto 对象
     * @return 成功或失败
     */
    boolean capitalAdd(UserInfoDetail currentUser, CapitalFinanceRecord queryDto);

    /**
     * 修改入出账记录
     * @param currentUser 操作人
     * @param queryDto 对象
     * @return 成功或失败
     */
    boolean capitalEdit(UserInfoDetail currentUser, CapitalFinanceRecord queryDto);

    /**
     * 删除入出账记录
     * @param id 编号
     * @return 成功或失败
     */
    boolean capitalDel(String id);

    /**
     * 生成入出账记录报表
     * @param queryDto 查询条件对象
     * @param currentUser 操作人
     * @return 成功或失败
     */
    String exportCapitalRecord(CapitalFinanceRecordDto queryDto, UserInfoDetail currentUser);


}
